<?php
// 这是系统自动生成的公共文件


/**
 * 密码加密的公共方法
 */
if (!function_exists('passwordEncrypt')) {
    function passwordEncrypt($password){
        $salt= '1910A';
        return md5($salt.$password.$salt);
    }
}

/**
 * 公共响应方法
 */
if (!function_exists('responses')) {
    /**
     * 公共响应方法
     * @param $code
     * @param $msg
     * @param $data
     * @return \think\response\Json
     */
    function responses($code,$msg,$data){
        return json(['code' => $code,'msg' => $msg,'data' => $data]);
    }
}
/**
 * 公共响应成功方法
 */
if (!function_exists('success')) {
    /**
     *
     * @param $data
     * @param int|int $code
     * @param string $msg
     * @return \think\response\Json
     */
    function success(array $data=[], int $code=200, string $msg='ok'){
        return responses($code,$msg,$data);
    }
}
/**
 * 公共响应失败方法
 */
if (!function_exists('fail')) {
    /**
     * @param string $code
     * @param $msg
     * @param $data
     * @return \think\response\Json
     */
    function fail($code='2001',$msg='参数不正确',$data = []){
        return responses($code,$msg,$data);
    }
}

/**
 * 递归实现无限极分类父子结构数据
 */
if (!function_exists('recursionHandleData')) {
    /**
     *
     * @param $data *数据
     * @param int $pid *父级id
     * @return array
     */
    function recursionHandleData($data,$pid=0){
        $child = [];
        foreach ($data as $value) {
            if ($value['pid'] == $pid) {
                $child[$value['id']] = $value;
                $child[$value['id']]['children'] = recursionHandleData($data,$value['id']);
            }
        }
        return  $child;
    }
}

/**
 * 递归实现无限极分类树形结构
 */
if (!function_exists('recursionTree')) {
    /**
     *
     * @param $data *数据
     * @param int $pid *父级id
     * @return array
     */
    function recursionTree($data,$pid=0,$level=0){
        static $arr = [];
        foreach ($data as $key => $value) {
            if ($value['pid'] == $pid) {
                $value['level'] =$level;
                $arr[] =$value;
                unset($data[$key]);
                recursionTree($data,$value['id'],$level+1);

            }
        }
        return  $arr;
    }
}


